空リンクを置換するPopup Menu
ほしい機能
中身のあるページのリンクも置換したい
例えば公開個人projectと非公開個人projectで使っている同名のリンクを一度に置換する
code:script.js
scrapbox.PopupMenu.addButton({
title: text => getLink(text) ? 'update links' : '',
onClick: text => {
const link = getLink(text);
if (!link) return;
const newLink = window.prompt(Replace "${link}" to, link)?.replace?.(/[\\\n]/g, ' ') ?? ''; if (newLink === '') return;
updateLinks(link, newLink);
return;
}
})
function getLink(text) {
}
async function updateLinks(from, to, {project} = {}) {
project = project ?? scrapbox.Project.name;
const res = await fetch(/api/pages/${project}/replace/links, {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=utf-8',
'X-CSRF-TOKEN': window._csrf,
},
body: JSON.stringify({from, to}),
});
return await res.json();
}